/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package presentation;

import business.*;
import java.util.ArrayList;
import javax.swing.JComboBox;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Ricardo
 */
public class  Preencher {

    public String dafunc(int i){
        //1-funcionario  2-tecnico 3-Dept Gestao 4-Administrador
        switch (i){
            case 1 : return ("Funcionário");
            case 2 : return ("Técnico");
            case 3 : return ("Dep. Gestão");
            case 4 : return ("Administrador");
            default : return "";
        }
    }

    public void preencheCombo( JComboBox jc ,ArrayList<String> ar){
        jc.removeAllItems();
        for(int j=(jc.getItemCount()); j<ar.size(); j++){
            jc.insertItemAt((ar.get(j)), j);
            jc.setSelectedIndex(0);
        }
    }


    public void preencheTable(JTable jt, Object obj, int tipoobj){
        int i;
        //1 - Pacote, 2 - Canal, 3 - Servico, 4 - Pedidos, 5 - Empregado, 6 - Campanha,
        DefaultTableModel model =  (DefaultTableModel) jt.getModel();
        switch(tipoobj){
            case 1 : ArrayList<Pacote> p = new ArrayList<Pacote>();
                    p = (ArrayList<Pacote>) obj;
                    i = 0;
                    model.getDataVector().removeAllElements();
                    for(Pacote pac : p){
                            if(i>=jt.getRowCount()){
                            model.addRow(new String[]{"",""});
                            }
                            jt.setValueAt(pac.getCodigo(), i, 0);
                            jt.setValueAt(pac.getNome(), i, 1);
                            jt.setValueAt(pac.getPreco(), i, 2);
                            i++;
                    }
                    break;

            case 2 : ArrayList<Canal> c = new ArrayList<Canal>();
                    c = (ArrayList<Canal>) obj;
                    i = 0;
                    model.getDataVector().removeAllElements();
                    for(Canal can : c){
                            if(i>=jt.getRowCount()){
                            model.addRow(new String[]{"",""});
                            }
                            jt.setValueAt(can.getCodigo(), i, 0);
                            jt.setValueAt(can.getNome(), i, 1);
                            i++;
                    }
                    break;

            case 3 : ArrayList<Servico> s = new ArrayList<Servico>();
                    s = (ArrayList<Servico>) obj;
                    i = 0;
                    model.getDataVector().removeAllElements();
                    for(Servico serv : s){
                            if(i>=jt.getRowCount()){
                            model.addRow(new String[]{"",""});
                            }
                            jt.setValueAt(serv.getNome(), i, 0);
                            jt.setValueAt(serv.getPreco(), i, 1);
                            i++;
                    }
                    break;

            case 4 : ArrayList<Pedido> pd = new ArrayList<Pedido>();
                    pd = (ArrayList<Pedido>) obj;
                    i = 0;
                    model.getDataVector().removeAllElements();
                    for(Pedido ped : pd){
                            if(i>=jt.getRowCount()){
                            model.addRow(new String[]{"",""});
                            }
                            jt.setValueAt(ped.getCodInstalacao(), i, 0);
                            jt.setValueAt(ped.getDescricao(), i, 1);
                            jt.setValueAt(ped.getZona(), i, 2);
                            i++;
                    }
                    break;

            case 5 : ArrayList<Empregado> emp = new ArrayList<Empregado>();
                    emp = (ArrayList<Empregado>) obj;
                    model.getDataVector().removeAllElements();
                    i = 0;
                    for(Empregado e : emp){
                            if(i>=jt.getRowCount()){
                            model.addRow(new String[]{"",""});
                            }
                            jt.setValueAt(e.getCodigo(), i, 0);
                            jt.setValueAt(e.getNome(), i, 1);
                            jt.setValueAt(dafunc(e.getTipo()), i, 2);
                            i++;
                    }
                    break;

            case 6 : ArrayList<Pedido> pd2 = new ArrayList<Pedido>();
                    pd2 = (ArrayList<Pedido>) obj;
                    i = 0;
                    model.getDataVector().removeAllElements();
                    for(Pedido ped : pd2){
                            if(i>=jt.getRowCount()){
                            model.addRow(new String[]{"",""});
                            }
                            jt.setValueAt(ped.getCodCliente(), i, 0);
                            jt.setValueAt(ped.getDescricao(), i, 1);
                            i++;
                    }
                    break;
        }
        }






}
